package com.ruoyi.order.vo;

import com.alibaba.excel.annotation.ExcelProperty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;


public class OrderVo {


    @ExcelProperty({"主标题","订单编号"})
    private Long orderId;

    /** 餐桌编号 */
    @ExcelProperty({"主标题","餐桌"})
    private String tableName;

    /** 店铺编号 */
    @ExcelProperty({"主标题","店铺名称"})
    private String stroeName;

    /** 食客编号 */
    @ExcelProperty({"主标题","食客姓名"})
    private String name;

    /** 结算编号 */
    @ExcelProperty({"主标题","结算编号"})
    private Long settlementId;

    /** 客户优惠券编号 */
    @ExcelProperty({"主标题", "客户优惠券名称"})
    private String couponName;

    /** 订单总价 */
    @ExcelProperty({"主标题","订单总价"})
    private BigDecimal orderPrice;

    /** 支付时间 */
    @ExcelProperty(value = {"主标题","支付时间"})
    private Date payTime;
    /** 订单状态 */
    @ExcelProperty({"主标题", "订单状态"})
    private String isPay;

    /** 支付渠道 */
    @ExcelProperty({"主标题","支付渠道"})
    private String payType;



    /** 优惠金额 */
    @ExcelProperty({"主标题", "优惠金额"})
    private BigDecimal concessionsPrice;

    /** 实付金额 */
    @ExcelProperty({"主标题", "实付金额"})
    private BigDecimal realPrice;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof OrderVo)) return false;
        OrderVo orderVo = (OrderVo) o;
        return Objects.equals(getOrderId(), orderVo.getOrderId()) && Objects.equals(getTableName(), orderVo.getTableName()) && Objects.equals(getStroeName(), orderVo.getStroeName()) && Objects.equals(getName(), orderVo.getName()) && Objects.equals(getSettlementId(), orderVo.getSettlementId()) && Objects.equals(getCouponName(), orderVo.getCouponName()) && Objects.equals(getOrderPrice(), orderVo.getOrderPrice()) && Objects.equals(getPayTime(), orderVo.getPayTime()) && Objects.equals(getIsPay(), orderVo.getIsPay()) && Objects.equals(getPayType(), orderVo.getPayType()) && Objects.equals(getConcessionsPrice(), orderVo.getConcessionsPrice()) && Objects.equals(getRealPrice(), orderVo.getRealPrice());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getOrderId(), getTableName(), getStroeName(), getName(), getSettlementId(), getCouponName(), getOrderPrice(), getPayTime(), getIsPay(), getPayType(), getConcessionsPrice(), getRealPrice());
    }

    public OrderVo(Long orderId, String tableName, String stroeName, String name, Long settlementId, String couponName, BigDecimal orderPrice, Date payTime, String isPay, String payType, BigDecimal concessionsPrice, BigDecimal realPrice) {
        this.orderId = orderId;
        this.tableName = tableName;
        this.stroeName = stroeName;
        this.name = name;
        this.settlementId = settlementId;
        this.couponName = couponName;
        this.orderPrice = orderPrice;
        this.payTime = payTime;
        this.isPay = isPay;
        this.payType = payType;
        this.concessionsPrice = concessionsPrice;
        this.realPrice = realPrice;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getStroeName() {
        return stroeName;
    }

    public void setStroeName(String stroeName) {
        this.stroeName = stroeName;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getSettlementId() {
        return settlementId;
    }

    public void setSettlementId(Long settlementId) {
        this.settlementId = settlementId;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public BigDecimal getOrderPrice() {
        return orderPrice;
    }

    public void setOrderPrice(BigDecimal orderPrice) {
        this.orderPrice = orderPrice;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public String getIsPay() {
        return isPay;
    }

    public void setIsPay(String isPay) {
        this.isPay = isPay;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public BigDecimal getConcessionsPrice() {
        return concessionsPrice;
    }

    public void setConcessionsPrice(BigDecimal concessionsPrice) {
        this.concessionsPrice = concessionsPrice;
    }

    public BigDecimal getRealPrice() {
        return realPrice;
    }

    public void setRealPrice(BigDecimal realPrice) {
        this.realPrice = realPrice;
    }
}
